package com.it.project.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.it.common.annotation.Excel;


import java.util.Date;

/**
 * 项目管理对象 it_project
 * 
 * @author it
 * @date 2024-07-11
 */
public class Project
{
    private static final long serialVersionUID = 1L;

    /** 项目ID */
    private Long id;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String proName;



    /** 项目描述 */
    @Excel(name = "项目描述")
    private String proDesc;

    /** 项目状态(0:未启用,1:已启用) */
    @Excel(name = "项目状态", readConverterExp = "0=未启用,1=已启用")
    private Integer status;

    /** 是否需要机器码限制(0:否,1:是) */
    @Excel(name = "机器码限制", readConverterExp = "0=否,1=是")
    private Integer machineRestricted;

    /** 最大可激活机器数量 */
    @Excel(name = "最大激活机器数")
    private Integer maxMachineCount;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProName(String proName)
    {
        this.proName = proName;
    }

    public String getProName()
    {
        return proName;
    }
    

    public void setProDesc(String proDesc)
    {
        this.proDesc = proDesc;
    }

    public String getProDesc()
    {
        return proDesc;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setCreateBy(String createBy)
    {
        this.createBy = createBy;
    }

    public String getCreateBy()
    {
        return createBy;
    }
    public void setCreateTime(Date createTime)
    {
        this.createTime = createTime;
    }

    public Date getCreateTime()
    {
        return createTime;
    }
    public void setUpdateBy(String updateBy)
    {
        this.updateBy = updateBy;
    }

    public String getUpdateBy()
    {
        return updateBy;
    }
    public void setUpdateTime(Date updateTime)
    {
        this.updateTime = updateTime;
    }

    public Date getUpdateTime()
    {
        return updateTime;
    }
    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    public String getRemark()
    {
        return remark;
    }

    public void setMachineRestricted(Integer machineRestricted)
    {
        this.machineRestricted = machineRestricted;
    }

    public Integer getMachineRestricted()
    {
        return machineRestricted;
    }
    
    public void setMaxMachineCount(Integer maxMachineCount)
    {
        this.maxMachineCount = maxMachineCount;
    }

    public Integer getMaxMachineCount()
    {
        return maxMachineCount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("proName", getProName())
            .append("proDesc", getProDesc())
            .append("status", getStatus())
            .append("machineRestricted", getMachineRestricted())
            .append("maxMachineCount", getMaxMachineCount())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}